package com.itlong.cloud.property.dao;

import com.itlong.cloud.POJO.PO.AmountChangeInfoPO;
import com.itlong.cloud.POJO.PO.PaymentTradePO;
import com.itlong.cloud.POJO.PO.PropertyPaymentBillPO;
import com.itlong.cloud.POJO.PO.PropertyPaymentDataRecordPO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * <desc>
 *      物业-统计项目可提现余额持久层接口
 * </desc>
 *
 * @createDate 2018/09/26
 */
@Mapper
@Repository
public interface IProjectAllowedCashWithdrawalStatisticsDao {

    /**
     * <desc>
     *      查询前一天产生的线上微信支付账单
     * </desc>
     *
     * @param paramTime 前一天的时间参数
     * @return 待统计的账单列表
     * @author wangzhi
     * @createDate 2018/09/26
     */
    List<PropertyPaymentBillPO> getBillOfStatisticsAllowedCashWithdrawal(@Param("paramTime") String paramTime);

    /**
     * <desc>
     *      查询前一天产生的线上微信支付子账单
     * </desc>
     *
     * @param paramTime 前一天的时间参数
     * @return 待统计的账单列表
     * @author wangzhi
     * @createDate 2018/10/24
     */
    List<PropertyPaymentDataRecordPO> getDataRecordOfStatisticsAllowedCashWithdrawal(@Param("paramTime") String paramTime);

    /**
     * <desc>
     *      查询前一天资金变动明细中各项目的中手续费
     * </desc>
     *
     * @param paramTime 前一天的时间参数
     * @return 待统计资金变动明细列表
     * @author wangzhi
     * @createDate 2018/11/01
     */
    List<AmountChangeInfoPO> getAmountChangeInfoForStatisticsAllowedCashWithdrawal(@Param("paramTime") String paramTime);

    /**
     * <desc>
     *      查询前一天支付成功的订单信息
     * </desc>
     *
     * @param paramTime 前一天的时间参数
     * @param mchId 商户id
     * @return 待统计的订单列表
     * @author wangzhi
     * @createDate 2019/11/14
     */
    List<PaymentTradePO> getPaymentTradeOfStatisticsAllowedCashWithdrawal(@Param("paramTime") String paramTime, @Param("mchId") String mchId);
}
